o WideScreen V0.4 was released with a stupid error that kept the
Virtual Desktop from updating when the VDT window became the
Key Window. This is corrected in V0.5. For this reason alone you
should vaporize any copy of V0.4, binary or source, and replace it
with V0.5.
o New Features:
o A Pan Jump option is available that allows the VDT View Port to be
positioned with a single mouse click.
o A Pan Grid option is available to allow control of the granularity
of mouse panning movement.
o A new default setting has been added to allow you to select the
gray value used in border highlighting.
o The Pan Delta option is now modifiable durring run time.
o Known Bugs:
---------------
o If the Workspace File Viewer is displaced by panning the View
Port or by dragging the Workspace view from the VDT window, the
Workspace can crash with a signal 10 error. This occurs when
dragging a Workspace Icon from or to the Shelf. The only current
work arounds are to 1) make the Workspace File Viewer window
sticky and keep it that way. Or always drag the File Viewer
Window slightly before manipulating any shelf Icons. I currently
have no fix for this after many attempts. It is due to the basic way
in which I move windows. I welcome any suggestions to correct the
problem.
o When using the right mouse button to popup the application menu after
changing the view port the menu can become displaced from where
the mouse is clicked. You can get around this by moving the mouse
outside the current key window and then clicking. Also if the key
dragged any amount the problem will correct itself.
Improvements over WideScreen V0.3:
o New Features:
o Sticky window can be set and unset by Alt-clicking on the window
icons in the VDT window.
o The VDT window now has a border that highlights when the VDT
window is given keyboard focus.
o The preference panel now inserts the current VDT window position,
and VDT size when the "Current" button is pressed.
Improvements over WideScreen V0.2:
o New Features:
o The Preference Panel can now be used to modify and save all of the
WideScreen dwrite options.
o New dwrites have been added to define the startup VDT window
position.
o A new dwrite has been added to allow the VDT window's resize
bar to removed.
o A new dwrite has been added to allow the VDT window to have no
drag bar and hence be immobilized.
o The VDT window level options have been moved to the preference
panel, and can be saved between runs like all the preferences.
o A new Utility function has been added to align all the non-Dock
icons in the current View Port.
o A new dwrite has been added to select the Icon Gravity used in the
Align Icon utility. This option determines which corner of the screen
the icons will be bunched toward.
o The Immediate/Deferred Window Motion option has been
implemented, and is selectable at runtime and is saved between runs.
o The Dock Handling option has been implemented to allow the Dock to
always be kept within the current View Port ("Sticky"), or to treat the
Dock like any normal window ("Slippery"). It is settable at runtime
and is saved between runs.
o A new Utility function has been added to retrieve the Dock and return
it within the current View Port from wherever it is in the VDT. This
is usefull when Dock Handling is set to "Slippery".
o As an additional safety feature the Dock is always retrieved before
WideScreen terminates.
o Windows can be order to the front or bottom of the window tier by
SHIFT or COMMAND clicking respectively on the given windows
VDT window icon.
Improvements over VDT V0.1:
o Bug fixes:
o The mysterious offset that occasionally occurred when dragging
windows by the drag bar appears to be solved.
o The problem with the command key panning options should be fixed.
o New Features:
o The VDT View Port can now be positioned via mouse dragging. See
Panning section below.
o Windows can now be moved from the VDT Window via mouse
dragging. See the Window Manipulation section below.
o The VDT window now has a resize bar for extending the Virtual
Desktop size.
o Background windows are handled in a sensible fashion.
o New panning keyboard accelerators have been added that do not
require the command key. Also the arrow keys can be used for
panning.
o The PanDelta default has been changed from 50 to 100.
o The Hide command has been removed and replaced with a
miniaturize command. The mini-window now has a recognizable
icon.
o There is an alert panel posted when the Quit command is selected.
The application returns the VDT View Port back to its startup origin
before terminating.
Permission is granted to redistribute this version of WideScreen to any interested user provided it has not modified. Any recipient of WideScreen is free to modify and use any of the source code for their own personel use, but are not allowed to redistribute the modified version without the original authors permission.
Michael D. Marchionna
San Jose, California
(408) 264-1531 (home)
(408) 473-4287 (work)
Virtual Desktop Concept
The idea of a virtual desktop is not new. Some of you may have
encounterd a virtual desktop manager in the X11 environment (e.g. vtwm and
tvtwm) or in the Macintosh environment. The idea is fairly simple. Imagine
what it would be like if the root window was larger than the physical
dimensions of the display screen. The physical display would only be able
to view a portion of the larger virtual desktop(VDT). Now if you could
change which portion of the VDT is shown on the physical display, you could
then place windows all over the VDT. The physical display then behaves like
a scrollable view on a window that is larger than the view.
The advantages of a VDT manager become clear quickly after using one.
Since you can place windows all over the VDT you can organize your work in
different portions of the VDT. For example you could be using IB in one
section of the VDT, the Digital Librarian in another, and some Terminal's in
still another. The VDT manager provides a scaled down window that
represents the entire VDT so you can see how you have spread all the windows
out. You can then move about the VDT with a keystroke or a mouse drag to
portions of the VDT that are interesting. Then end result is that you can
reduce window clutter, and reduce the amount of window juggling needed
without a VDT.
The WideScreen Menu
Info:
Info Panel... Displays the obligatory Application Credits and Version
number.
Help Panel... Displays this panel.
Preferences... Displays the application preference panel for setting all the
WideScreen customization options.
Panning:
Panning refers to changing the position of the currently viewed portion of
the Virtual Desktop. This visible region is called the VDT View Port. It
is represented in the WideScreen VDT window as a light grey rectangle behind
all the other scaled window icons. The VDT View Port can be positioned in
several ways using the mouse or the keyboard.
Panning With The Mouse:
To move the VDT View Port with the mouse you need to give the VDT Window
focus, and then click within the light grey rectangle representing the VDT
View Port. Then simply drag the View Port to the desired position. You can
click on a window icon that is inside the VDT View Port region and the View
Port will still be selected.
Panning With The Keyboard:
The are a bunch of ways to move the VDT View Port with the keyboard. The
most obvious are the command key options under the Panner Sub-menu. The
compass directions each move the VDT View Port in the direction indicated.
The amount the View Port is moved is determined by the PanDelta default
described below. Note that all the Command Key accelerators make sense when
you look at the numbers on the numeric keypad. The Center command moves the
View Port to the center of the VDT. While the Home command returns to the
View Port to the location it was initially at startup. The Top, Bottom,
Left, and Right move the View Port to the indicated edge of the VDT.
In addition to the command key options you can simply type a direction key.
The direction keys are the same as the keys used for the Panner command key
accelerators. Simply type the key without holding down the command key. In
addition the arrow keys will perform the Panning functions North, South,
East, and West. The Alternate key can be combined with anyone of the eight
directional keys to move the View Port to the edge of the VDT in that given
direction. For example typing ALT-7 would move the View Port to the extreme
NorthWest (Top Left) corner of the VDT.
Window Manipulation:
WideScreen supports a number of window manipulation functions from the VDT
window depending on what modifier key is held down when clicking in the VDT
window.
Moving Windows:
You can move actual windows from the VDT window by dragging the associated
window icon about in the VDT window. In order to drag a VDT window icon you
must hold down the CONTROL key, and then click on the window icon you wish
to drag. Then simply drag the window icon to the new location you wish the
real window to be moved to.
Ordering Windows:
You can change the stacking order of actual windows from the VDT window. If
you hold down the SHIFT key and click on the VDT window icon the actual
window will be brought to the front of its window tier. If you hold down
the COMMAND key and click on the VDT window icon the actual window will be
moved to the bottom of its window tier.
Sticky Windows:
You can mark certain windows to be treated as sticky by Alt-Clicking on the
window icon in the VDT window. A sticky window maintains its position
within the VDT view port as the view port is moved. Sticky windows are
identifiable in the VDT window black window icons with white borders, as
opposed to normal windows which are shown as white window icons with black
borders. You can unstick a window by Alt-Clicking the icon a second time.
Utilities:
This submenu provides utility commands that help support the use of the
WideScreen Virtual Desktop.
Align Icons:
This command gathers all the non-Dock icons in the current VDT View Port,
and arranges them sequentialy toward the selected Icon Gravity corner.
Retrieve Dock:
This command moves the entire Dock back within the current View Port from
its current position in the VDT. This function is is useful when the Dock
Handling option is set to "Slippery".
Return Dock:
This command moves the entire Dock back the VDT origin View Port position.
This function is disabled when the Dock Handling option is set to "Sticky".
Update Vdt:
This command refreshes the VDT Window, and gives an up to date display of
the VDT.
WideScreen Preferences
The WideScreen application uses a series of defaults that define all of
the various Startup and Runtime options available to the user. All
WideScreen options may be modified from the Preference panel or set through
the UNIX shell command dwrite. Startup preferences only take affect the
next time WideScreen is run. After changing a Startup preference you must
click the Save button for the modification to be recorded to the defaults
database. Runtime preferences take affect immediately, however if you wish
the setting to be remembered the next time WideScreen is run you must click
the Save button. The Revert button will reset all the preferences to those
currently written to the defaults database. Each of the available
preferences are discussed in detail below along with the associated dwrite
command:
Startup Preferences:
Size "Width Height"
The size is expressed in units of physical screen size. Two integers are
expected in the Size default representing the desired width and height of
the VDT. The default VDT Size is 2 x 2, or twice the physical screen width
and twice as high. The VDT size is restricted to maximum of 8x8 to avoid
hitting the 16000 absolute value limit of a screen coordinate.
Default: "2 2"
Example: dwrite WideScreen Size "2 3"
This would create a virtual desktop that is two times the width and
three times the height of the physical display screen.
Scale scale
The VDT Scale is the ratio of the VDT Size to the size of the window
representing the VDT. The Scale factor must be sufficiently large to allow
the VDT window to fit within the physical screen limits, yet not to large
that it would reduce the VDT window to something smaller than 64x64 pixels.
Default: 8
Example: dwrite WideScreen Size 12
This would cause the VDT window to be one twelfth the size of the full
scale virtual desktop.
Origin "X Y"
The View Port Origin default determines which section of the VDT the View
Port will initially be placed at. The Origin default defines the X and Y
position in screen sizes of the viewport origin. In a 2 x 2 VDT an Origin
of "0 0" puts the View Port at the bottom left of the VDT while an Origin of
"1 1" will put the View Port at the upper left of the VDT.
Default: "0 0"
Example: dwrite WideScreen Origin "0 1"
This would cause the VDT View Port to be initially placed in the
upper left corner of a 2 x 2 VDT.
WinLocX Xpos
WinLocY Ypos
The Window Location defaults define what screen position the bottom left
corner of the VDT window will be placed at when the WideScreen application
is started. The Xpos and Ypos values define the desired screen coordinate.
Default: WinLocX 300
Default: WinLocY 300
Example: dwrite WideScreen WinLocX 0
dwrite WideScreen WinLocY 0
This would cause the VDT Window to be positioned at the bottom left
hand corner of the physical screen at startup.
ResizeBar YesNo
The ResizeBar default determines if the VDT window will have a resize bar on
startup and for the duration of its run.
Default: ResizeBar Yes
Example: dwrite WideScreen ResizeBar No
This would cause the VDT Window to not have a resize bar.
Immobile YesNo
The Immobile default determines if the VDT window will have a drag bar on
startup and for the duration of its run. If the VDT window has no drag bar
the window will be made impossible to move, or at least very difficult.
Default: Immobile No
Example: dwrite WideScreen Immobile Yes
This would cause the VDT Window to not have a drag bar.
Runtime Preferences:
Window Level:
Changes the window tier that the VDT Window is in. The Normal tier means
the VDT window can be raised and lowered in the same way all the normal
windows are. The Floating setting is the default. At the this level the
VDT window rides above the normal windows like an alert panel. The Dock
level means the VDT window rides in the same window tier as the Dock. The
SubMenu level puts the VDT window above the Dock but lower the Application
Menu. The MainMenu level means the VDT window will ride above just about
everything. I mean it's way up there lady!
Default: WindowLevel Floating
Settings: Normal Floating Dock SubMenu MainMenu
Example: dwrite WideScreen WindowLevel Dock
This would cause the VDT Window to be placed in the
NX_DOCKLEVEL tier. Which happens to be one less than the
window tier that the Dock icons are in. Go Figure!
Icon Gravity:
Changes action of the Uitlities->Align Icon function. This setting
determines which corner of the physical screen the Align Icon function will
gravitate all the non-Dock icons within the corrent View Port towards.